﻿@inherits Umbraco.Web.Mvc.UmbracoTemplatePage


@using System.Web.Mvc.Html
@using ClientDependency.Core.Mvc
@using Umbraco.Web
@using Umbraco.Web.Controllers

@{
    @*
        You can specify a custom member type alias in the constructor, the default is 'Member'    
        for example, to use 'Custom Member' you'd use this syntax:
    
        var registerModel = Members.CreateRegistrationModel("Custom Member");
    *@
    
    var registerModel = Members.CreateRegistrationModel();
    
    @*
        Configurable here:           
    
        registerModel.RedirectUrl       - Optional. What path to redirect to if registration is successful. 
                                          By default the member will be redirected to the current umbraco page 
                                          unless this is specified.
    
        registerModel.UsernameIsEmail   - the default is true
                                          if you want the username to be different from the email
                                          address, set this to true and add a new Username field in
                                          the form below
    
                                          @Html.LabelFor(m => registerModel.Username)
                                          @Html.TextBoxFor(m => registerModel.Username)
                                          @Html.ValidationMessageFor(m => registerModel.Username)
    *@
  
    Html.EnableClientValidation();
    Html.EnableUnobtrusiveJavaScript();
    Html.RequiresJs("/umbraco_client/ui/jquery.js");
    Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
    Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");
    
    var success = TempData["FormSuccess"] != null;
}

@*NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed*@
@Html.RenderJsHere()

@if (success) 
{ 
    @* This message will show if RedirectOnSucces is set to false (default) *@
    <p>Registration succeeeded.</p>
}
else
{
    using (Html.BeginUmbracoForm<UmbRegisterController>("HandleRegisterMember"))
    {
        <fieldset>
            <legend>Stovna brúkara</legend>

            @Html.ValidationSummary("registerModel", true)

            @Html.Label("Navn", new { @class = "control-label" })
            @Html.TextBoxFor(m => registerModel.Name, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => registerModel.Name, "Navn er ikki góðtikið.", new { @class = "text-danger" })
            <br />

            @Html.Label("Teldupostur (verur brúkt sum brúkarnavn!)", new { @class = "control-label" })
            @Html.TextBoxFor(m => registerModel.Email, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => registerModel.Email, "Teldupostur er ikki góðtikin.", new { @class = "text-danger" })
            <br />

            @Html.Label("Loyniorð", new { @class = "control-label" })
            @Html.PasswordFor(m => registerModel.Password, new { @class = "form-control" })
            @Html.ValidationMessageFor(m => registerModel.Password, "Loyniorð er ikki góðtikið.", new { @class = "text-danger" })
            <br />

            @if (registerModel.MemberProperties != null)
            {
                for (var i = 0; i < registerModel.MemberProperties.Count; i++)
                {
                    @Html.LabelFor(m => registerModel.MemberProperties[i].Value, registerModel.MemberProperties[i].Name)
                    @* 
                        By default this will render a textbox but if you want to change the editor template for this property you can 
                        easily change it. For example, if you wanted to render a custom editor for this field called "MyEditor" you would
                        create a file at ~/Views/Shared/EditorTemplates/MyEditor.cshtml", then you will change the next line of code to 
                        render your specific editor template like:
                        @Html.EditorFor(m => profileModel.MemberProperties[i].Value, "MyEditor")
                    *@
                    @Html.EditorFor(m => registerModel.MemberProperties[i].Value)
                    @Html.HiddenFor(m => registerModel.MemberProperties[i].Alias)
                    <br />
                }
            }

            @Html.HiddenFor(m => registerModel.MemberTypeAlias)
            @Html.HiddenFor(m => registerModel.RedirectUrl)
            @Html.HiddenFor(m => registerModel.UsernameIsEmail)

            <button class="btn btn-default">Skráset</button>
        </fieldset>
    }
}